بکاپگیری (Backup) یکی از مهمترین وظایف هر مدیر سیستم است. در لینوکس، ابزارهای قدرتمندی برای بکاپگیری وجود دارند که از جمله مهمترین آنها tar و dd هستند. در این جلسه، با روشهای پیشرفته بکاپگیری با tar و کپی سطح پایین با dd آشنا میشویم.
tar → مناسب برای فایلها و دایرکتوریهاdd → مناسب برای کپی کامل دیسک و پارتیشنtarبکاپ افزایشی به این معناست که فقط فایلهایی که از زمان بکاپ قبلی تغییر کردهاند، در بکاپ جدید ذخیره میشوند. این کار باعث صرفهجویی در فضا و زمان میشود.
tar:
در این روش، از یک فایل snapshot برای ذخیره اطلاعات نسخه قبلی استفاده میشود.
توضیح:
-g FullArchive.snar → ایجاد/استفاده از فایل snapshot برای بکاپ افزایشی-Jcvf → فشردهسازی با xz، ایجاد آرشیو، نمایش جزئیاتProject42.txz → نام فایل آرشیوProject4?.txt → فایلهایی که شامل میشوند
توضیح: فایل FullArchive.snar اطلاعات نسخه اولیه را ذخیره کرده است.
توضیح: یک تغییر در فایل Project42.txt ایجاد میکنیم (افزودن یک خط جدید).
توضیح: در بکاپ دوم، فقط فایل Project42.txt که تغییر کرده است، در آرشیو جدید ذخیره میشود. فایلهای دیگر چون تغییر نکردهاند، در بکاپ جدید نمیآیند.
توضیح: فایل آرشیو جدید فقط شامل تغییرات (فایل Project42.txt) است.
dd
dd یک ابزار سطح پایین است که میتواند بایتبهبایت از یک دیسک یا پارتیشن کپی بگیرد. این روش برای کلون کردن دیسک یا پشتیبانگیری کامل بسیار مفید است.
dd:
توضیح: دو دیسک sdb (۴ مگابایت) و sdc (۱ گیگابایت) را مشاهده میکنید.
توضیح:
if=/dev/sdb → ورودی (Input File) = دیسک sdbof=/dev/sdc → خروجی (Output File) = دیسک sdcstatus=progress → نمایش پیشرفت عملیاتsdb بهطور کامل روی دیسک sdc کپی شد.
دستور dd بسیار خطرناک است. اگر بهاشتباه ورودی و خروجی را عوض کنید، ممکن است تمام دادههای خود را از دست بدهید. همیشه قبل از اجرا، از صحت دستور مطمئن شوید.
| ویژگی | tar |
dd |
|---|---|---|
| سطح | فایلها و دایرکتوریها | سطح پایین (بایتبهبایت) |
| بکاپ افزایشی | ✅ بله (با -g) |
❌ خیر |
| فشردهسازی | ✅ بله (با -z, -j, -J) |
❌ خیر |
| مناسب برای | بکاپ فایلها | کلون دیسک و پارتیشن |
| سرعت | سریع | متوسط (بسته به اندازه) |
| خطر | کم | زیاد (در صورت اشتباه) |
fallocate چند فایل تست بسازید.tar -cvf ایجاد کنید.tar -g یک بکاپ افزایشی بگیرید.lsblk دیسکهای خود را بررسی کنید.dd یک بکاپ کامل از آن بگیرید.